package com.maxd.error;

public class ResultUtil {

    /**
     * 返回成功，传入返回体具体出參
     * @param data
     * @return
     */
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setStatus(0);
        result.setMsg("success");
        result.setData(data);
        return result;
    }

    /**
     * 提供给部分不需要出參的接口
     *
     * @return
     */
    public static Result<Void> success() {
        return success(null);
    }

    /**
     * 自定义错误信息
     *
     * @param code
     * @param msg
     * @return
     */
    public static Result<Void> error(Integer code, String msg) {
        Result<Void> result = new Result<>();
        result.setStatus(code);
        result.setMsg(msg);
        return result;
    }

    /**
     * 返回异常信息，在已知的范围内
     * @return
     */
    public static Result<Void> error(IRetCode retCode) {
        return error(retCode.getCode(), retCode.getMsg());
    }
}
